import socket


def main():
    # 客户端socket
    tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    # 连接服务器
    tcp_client_socket.connect(("192.168.159.1", 9000))

    # 接收服务器返回的数据
    recv_data = tcp_client_socket.recv(1024)

    # 打开并写入文件
    # 打开文件如果open正常，读写异常就需要在except中关闭流，比较繁琐，可以使用with
    # with一般用户open一定正常的情况下例如写模式(写模式如果文件不存在则新建)，读模式还是用try..except
    if recv_data:
        # 如果服务器有相应则写入文件
        # wb是以二进制写方式打开文件，因为socket返回为二进制就不需要再解码了
        with open("download[新].txt", "wb") as f:
            f.write(recv_data)

    tcp_client_socket.close()


if __name__ == '__main__':
    main()
